package com.fasteat.menu.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fasteat.menu.entity.Menu;
import com.fasteat.menu.entity.client.MenuSearchMap;
import com.fasteat.menu.entity.client.Page;
import com.fasteat.menu.entity.vo.CategoryVo;
import com.fasteat.menu.entity.vo.MenuMessageVo;
import com.fasteat.menu.entity.vo.MenuSearchVo;
import com.fasteat.menu.entity.vo.SimpleMenuVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author run
 * @since 2021-01-19
 */
public interface MenuService extends IService<Menu> {

    public boolean createMenu(Menu menu);

    public boolean updateMenu(Menu menu);

    public boolean deleteMenu(String menuId);

    public IPage<Menu> searchMenus(String keyword, Integer page, Integer size);

    public List<Menu> searchMenus();

    public Menu searchMenuById(String menuId,String userId);

    public IPage<Menu> searchMenuOfUser(String userId,Integer page,Integer size);

    public Page searchMenuOfKeyWord(String keyword, Integer page, Integer size, MenuSearchMap searchMap);

    public Page searchMenuOfMaterial(MenuSearchVo menuSearchVo, Integer page, Integer size);

    public List<SimpleMenuVo> searchSimpleMenuOfIds(List<String> menuIds);

    public void updateMenuMessage(List<MenuMessageVo> menuMessageVos);

    public List<CategoryVo> getMenuCategory();

    public Integer getUserPraise(String userId);

    public MenuMessageVo getMenuMessage(String menuId);
}
